package com.cn.xiaonuo.slbfinances.slborders.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@TableName("sl_order_detail")
public class SlOrderDetail implements Serializable {
    /**
     * 唯一标识
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 订单编号
     */
    private String serialNumber;

    /**
     * 订单唯一标识
     */
    private Integer orderId;

    /**
     * 创建人
     */
    private String creator;

    /**
     * 店铺唯一标识符
     */
    private Integer shopId;

    /**
     * 店铺仓库唯一标识
     */
    private Integer repositoryId;

    /**
     * 商品唯一标识符
     */
    private Integer productId;

    /**
     * 商品名称
     */
    private String productName;

    /**
     * 商品图片
     */
    private String productImageUrl;

    /**
     * 商品规格名称
     */
    private String productDetailGroupName;

    /**
     * 0待支付,1,待上级确认,2已付现金未付贝,3待发货, 4待收货/已发货,5已完成/未评价,6已评价,7退款成功,8申请退款,9土地已带看,10土地已确认
     */
    private Integer shippingState;

    /**
     * 数量
     */
    private Integer quantity;

    /**
     * 单个商品价格
     */
    private BigDecimal price;

    /**
     * slb单价
     */
    private BigDecimal slb;

    /**
     * 兑礼券
     */
    private BigDecimal djj;

    /**
     * 积分单价
     */
    private BigDecimal integral;

    /**
     * 确认收货时间(景点门票使用日期)
     */
    private String confirmReceiptTime;

    /**
     * 创建时间
     */
    private String createTime;

    /**
     * 购物券抵扣
     */
    private BigDecimal vouchers;

    /**
     * 快递费
     */
    private BigDecimal postFee;

    /**
     * 发货时间
     */
    private String shippingTime;

    /**
     * 快递唯一标识符
     */
    private String emsId;

    /**
     * 物流单号
     */
    private String shipNumber;

    /**
     * 买家留言
     */
    private String buyerMessage;

    /**
     * 1普通,2团购,3分享,4秒杀,5二代分销,6餐饮订单,7土地市场订单,8农庄订单,9名宿订单,10旅游景点,11众筹下单,12积分兑换商品,13文交所赠送商品订单,14文交所等值兑换,15买1赠3,16匀贸
     */
    private Integer type;

    /**
     * 退款时间
     */
    private String refundTime;

    /**
     * (暂未使用)创建时间
     */
    private Date createdAt;

    /**
     * (暂未使用)最后更新时间
     */
    private Date updatedAt;

    /**
     * 订单购买者上级ID
     */
    private Integer superiorId;

    /**
     * 是否已经卖给下级，0未卖，1已卖
     */
    private Integer superiorState;

    /**
     * 店主上级ID
     */
    private Integer shopSuperiorId;

    private static final long serialVersionUID = 1L;

    /**
     * 获取唯一标识
     *
     * @return id - 唯一标识
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置唯一标识
     *
     * @param id 唯一标识
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取订单编号
     *
     * @return serial_number - 订单编号
     */
    public String getSerialNumber() {
        return serialNumber;
    }

    /**
     * 设置订单编号
     *
     * @param serialNumber 订单编号
     */
    public void setSerialNumber(String serialNumber) {
        this.serialNumber = serialNumber == null ? null : serialNumber.trim();
    }

    /**
     * 获取订单唯一标识
     *
     * @return order_id - 订单唯一标识
     */
    public Integer getOrderId() {
        return orderId;
    }

    /**
     * 设置订单唯一标识
     *
     * @param orderId 订单唯一标识
     */
    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }

    /**
     * 获取创建人
     *
     * @return creator - 创建人
     */
    public String getCreator() {
        return creator;
    }

    /**
     * 设置创建人
     *
     * @param creator 创建人
     */
    public void setCreator(String creator) {
        this.creator = creator == null ? null : creator.trim();
    }

    /**
     * 获取店铺唯一标识符
     *
     * @return shop_id - 店铺唯一标识符
     */
    public Integer getShopId() {
        return shopId;
    }

    /**
     * 设置店铺唯一标识符
     *
     * @param shopId 店铺唯一标识符
     */
    public void setShopId(Integer shopId) {
        this.shopId = shopId;
    }

    /**
     * 获取店铺仓库唯一标识
     *
     * @return repository_id - 店铺仓库唯一标识
     */
    public Integer getRepositoryId() {
        return repositoryId;
    }

    /**
     * 设置店铺仓库唯一标识
     *
     * @param repositoryId 店铺仓库唯一标识
     */
    public void setRepositoryId(Integer repositoryId) {
        this.repositoryId = repositoryId;
    }

    /**
     * 获取商品唯一标识符
     *
     * @return product_id - 商品唯一标识符
     */
    public Integer getProductId() {
        return productId;
    }

    /**
     * 设置商品唯一标识符
     *
     * @param productId 商品唯一标识符
     */
    public void setProductId(Integer productId) {
        this.productId = productId;
    }

    /**
     * 获取商品名称
     *
     * @return product_name - 商品名称
     */
    public String getProductName() {
        return productName;
    }

    /**
     * 设置商品名称
     *
     * @param productName 商品名称
     */
    public void setProductName(String productName) {
        this.productName = productName == null ? null : productName.trim();
    }

    /**
     * 获取商品图片
     *
     * @return product_image_url - 商品图片
     */
    public String getProductImageUrl() {
        return productImageUrl;
    }

    /**
     * 设置商品图片
     *
     * @param productImageUrl 商品图片
     */
    public void setProductImageUrl(String productImageUrl) {
        this.productImageUrl = productImageUrl == null ? null : productImageUrl.trim();
    }

    /**
     * 获取商品规格名称
     *
     * @return product_detail_group_name - 商品规格名称
     */
    public String getProductDetailGroupName() {
        return productDetailGroupName;
    }

    /**
     * 设置商品规格名称
     *
     * @param productDetailGroupName 商品规格名称
     */
    public void setProductDetailGroupName(String productDetailGroupName) {
        this.productDetailGroupName = productDetailGroupName == null ? null : productDetailGroupName.trim();
    }

    /**
     * 获取0待支付,1,待上级确认,2已付现金未付贝,3待发货, 4待收货/已发货,5已完成/未评价,6已评价,7退款成功,8申请退款,9土地已带看,10土地已确认
     *
     * @return shipping_state - 0待支付,1,待上级确认,2已付现金未付贝,3待发货, 4待收货/已发货,5已完成/未评价,6已评价,7退款成功,8申请退款,9土地已带看,10土地已确认
     */
    public Integer getShippingState() {
        return shippingState;
    }

    /**
     * 设置0待支付,1,待上级确认,2已付现金未付贝,3待发货, 4待收货/已发货,5已完成/未评价,6已评价,7退款成功,8申请退款,9土地已带看,10土地已确认
     *
     * @param shippingState 0待支付,1,待上级确认,2已付现金未付贝,3待发货, 4待收货/已发货,5已完成/未评价,6已评价,7退款成功,8申请退款,9土地已带看,10土地已确认
     */
    public void setShippingState(Integer shippingState) {
        this.shippingState = shippingState;
    }

    /**
     * 获取数量
     *
     * @return quantity - 数量
     */
    public Integer getQuantity() {
        return quantity;
    }

    /**
     * 设置数量
     *
     * @param quantity 数量
     */
    public void setQuantity(Integer quantity) {
        this.quantity = quantity;
    }

    /**
     * 获取单个商品价格
     *
     * @return price - 单个商品价格
     */
    public BigDecimal getPrice() {
        return price;
    }

    /**
     * 设置单个商品价格
     *
     * @param price 单个商品价格
     */
    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    /**
     * 获取slb单价
     *
     * @return slb - slb单价
     */
    public BigDecimal getSlb() {
        return slb;
    }

    /**
     * 设置slb单价
     *
     * @param slb slb单价
     */
    public void setSlb(BigDecimal slb) {
        this.slb = slb;
    }

    /**
     * 获取兑礼券
     *
     * @return djj - 兑礼券
     */
    public BigDecimal getDjj() {
        return djj;
    }

    /**
     * 设置兑礼券
     *
     * @param djj 兑礼券
     */
    public void setDjj(BigDecimal djj) {
        this.djj = djj;
    }

    /**
     * 获取积分单价
     *
     * @return integral - 积分单价
     */
    public BigDecimal getIntegral() {
        return integral;
    }

    /**
     * 设置积分单价
     *
     * @param integral 积分单价
     */
    public void setIntegral(BigDecimal integral) {
        this.integral = integral;
    }

    /**
     * 获取确认收货时间(景点门票使用日期)
     *
     * @return confirm_receipt_time - 确认收货时间(景点门票使用日期)
     */
    public String getConfirmReceiptTime() {
        return confirmReceiptTime;
    }

    /**
     * 设置确认收货时间(景点门票使用日期)
     *
     * @param confirmReceiptTime 确认收货时间(景点门票使用日期)
     */
    public void setConfirmReceiptTime(String confirmReceiptTime) {
        this.confirmReceiptTime = confirmReceiptTime == null ? null : confirmReceiptTime.trim();
    }

    /**
     * 获取创建时间
     *
     * @return create_time - 创建时间
     */
    public String getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(String createTime) {
        this.createTime = createTime == null ? null : createTime.trim();
    }

    /**
     * 获取购物券抵扣
     *
     * @return vouchers - 购物券抵扣
     */
    public BigDecimal getVouchers() {
        return vouchers;
    }

    /**
     * 设置购物券抵扣
     *
     * @param vouchers 购物券抵扣
     */
    public void setVouchers(BigDecimal vouchers) {
        this.vouchers = vouchers;
    }

    /**
     * 获取快递费
     *
     * @return post_fee - 快递费
     */
    public BigDecimal getPostFee() {
        return postFee;
    }

    /**
     * 设置快递费
     *
     * @param postFee 快递费
     */
    public void setPostFee(BigDecimal postFee) {
        this.postFee = postFee;
    }

    /**
     * 获取发货时间
     *
     * @return shipping_time - 发货时间
     */
    public String getShippingTime() {
        return shippingTime;
    }

    /**
     * 设置发货时间
     *
     * @param shippingTime 发货时间
     */
    public void setShippingTime(String shippingTime) {
        this.shippingTime = shippingTime == null ? null : shippingTime.trim();
    }

    /**
     * 获取快递唯一标识符
     *
     * @return ems_id - 快递唯一标识符
     */
    public String getEmsId() {
        return emsId;
    }

    /**
     * 设置快递唯一标识符
     *
     * @param emsId 快递唯一标识符
     */
    public void setEmsId(String emsId) {
        this.emsId = emsId == null ? null : emsId.trim();
    }

    /**
     * 获取物流单号
     *
     * @return ship_number - 物流单号
     */
    public String getShipNumber() {
        return shipNumber;
    }

    /**
     * 设置物流单号
     *
     * @param shipNumber 物流单号
     */
    public void setShipNumber(String shipNumber) {
        this.shipNumber = shipNumber == null ? null : shipNumber.trim();
    }

    /**
     * 获取买家留言
     *
     * @return buyer_message - 买家留言
     */
    public String getBuyerMessage() {
        return buyerMessage;
    }

    /**
     * 设置买家留言
     *
     * @param buyerMessage 买家留言
     */
    public void setBuyerMessage(String buyerMessage) {
        this.buyerMessage = buyerMessage == null ? null : buyerMessage.trim();
    }

    /**
     * 获取1普通,2团购,3分享,4秒杀,5二代分销,6餐饮订单,7土地市场订单,8农庄订单,9名宿订单,10旅游景点,11众筹下单,12积分兑换商品,13文交所赠送商品订单,14文交所等值兑换,15买1赠3,16匀贸
     *
     * @return type - 1普通,2团购,3分享,4秒杀,5二代分销,6餐饮订单,7土地市场订单,8农庄订单,9名宿订单,10旅游景点,11众筹下单,12积分兑换商品,13文交所赠送商品订单,14文交所等值兑换,15买1赠3,16匀贸
     */
    public Integer getType() {
        return type;
    }

    /**
     * 设置1普通,2团购,3分享,4秒杀,5二代分销,6餐饮订单,7土地市场订单,8农庄订单,9名宿订单,10旅游景点,11众筹下单,12积分兑换商品,13文交所赠送商品订单,14文交所等值兑换,15买1赠3,16匀贸
     *
     * @param type 1普通,2团购,3分享,4秒杀,5二代分销,6餐饮订单,7土地市场订单,8农庄订单,9名宿订单,10旅游景点,11众筹下单,12积分兑换商品,13文交所赠送商品订单,14文交所等值兑换,15买1赠3,16匀贸
     */
    public void setType(Integer type) {
        this.type = type;
    }

    /**
     * 获取退款时间
     *
     * @return refund_time - 退款时间
     */
    public String getRefundTime() {
        return refundTime;
    }

    /**
     * 设置退款时间
     *
     * @param refundTime 退款时间
     */
    public void setRefundTime(String refundTime) {
        this.refundTime = refundTime == null ? null : refundTime.trim();
    }

    /**
     * 获取(暂未使用)创建时间
     *
     * @return created_at - (暂未使用)创建时间
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置(暂未使用)创建时间
     *
     * @param createdAt (暂未使用)创建时间
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 获取(暂未使用)最后更新时间
     *
     * @return updated_at - (暂未使用)最后更新时间
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 设置(暂未使用)最后更新时间
     *
     * @param updatedAt (暂未使用)最后更新时间
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    /**
     * 获取订单购买者上级ID
     *
     * @return superior_id - 订单购买者上级ID
     */
    public Integer getSuperiorId() {
        return superiorId;
    }

    /**
     * 设置订单购买者上级ID
     *
     * @param superiorId 订单购买者上级ID
     */
    public void setSuperiorId(Integer superiorId) {
        this.superiorId = superiorId;
    }

    /**
     * 获取是否已经卖给下级，0未卖，1已卖
     *
     * @return superior_state - 是否已经卖给下级，0未卖，1已卖
     */
    public Integer getSuperiorState() {
        return superiorState;
    }

    /**
     * 设置是否已经卖给下级，0未卖，1已卖
     *
     * @param superiorState 是否已经卖给下级，0未卖，1已卖
     */
    public void setSuperiorState(Integer superiorState) {
        this.superiorState = superiorState;
    }

    /**
     * 获取店主上级ID
     *
     * @return shop_superior_id - 店主上级ID
     */
    public Integer getShopSuperiorId() {
        return shopSuperiorId;
    }

    /**
     * 设置店主上级ID
     *
     * @param shopSuperiorId 店主上级ID
     */
    public void setShopSuperiorId(Integer shopSuperiorId) {
        this.shopSuperiorId = shopSuperiorId;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", serialNumber=").append(serialNumber);
        sb.append(", orderId=").append(orderId);
        sb.append(", creator=").append(creator);
        sb.append(", shopId=").append(shopId);
        sb.append(", repositoryId=").append(repositoryId);
        sb.append(", productId=").append(productId);
        sb.append(", productName=").append(productName);
        sb.append(", productImageUrl=").append(productImageUrl);
        sb.append(", productDetailGroupName=").append(productDetailGroupName);
        sb.append(", shippingState=").append(shippingState);
        sb.append(", quantity=").append(quantity);
        sb.append(", price=").append(price);
        sb.append(", slb=").append(slb);
        sb.append(", djj=").append(djj);
        sb.append(", integral=").append(integral);
        sb.append(", confirmReceiptTime=").append(confirmReceiptTime);
        sb.append(", createTime=").append(createTime);
        sb.append(", vouchers=").append(vouchers);
        sb.append(", postFee=").append(postFee);
        sb.append(", shippingTime=").append(shippingTime);
        sb.append(", emsId=").append(emsId);
        sb.append(", shipNumber=").append(shipNumber);
        sb.append(", buyerMessage=").append(buyerMessage);
        sb.append(", type=").append(type);
        sb.append(", refundTime=").append(refundTime);
        sb.append(", createdAt=").append(createdAt);
        sb.append(", updatedAt=").append(updatedAt);
        sb.append(", superiorId=").append(superiorId);
        sb.append(", superiorState=").append(superiorState);
        sb.append(", shopSuperiorId=").append(shopSuperiorId);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}